\documentclass[a4paper, 11pt]{article}

\usepackage{amsmath}
\usepackage{fancyhdr}
\usepackage{layout}
\addtolength{\hoffset}{-1.0cm} \addtolength{\textwidth}{2cm}
\addtolength{\voffset}{-1.0cm} \addtolength{\textheight}{2cm}
\usepackage{appendix} %生成附录

\usepackage{cite}
\makeatletter
\def\@cite#1#2{\textsuperscript{[{#1\if@tempswa , #2\fi}]}}
\makeatother

\usepackage{appendix} %生成附录
\usepackage{flushend, cuted} %

\usepackage{indentfirst,latexsym,bm}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{pifont}
\usepackage{CJK}
\usepackage[rgb]{xcolor}
\usepackage[dvips]{graphicx}
\usepackage{subfigure}
\usepackage{url}
\usepackage{mathrsfs}
\usepackage{caption}


\usepackage[dvipdfm, %,pdftex这里决定运行文件的方式不同
                  pdfstartview=FitH,
                  CJKbookmarks=true,
                  bookmarksnumbered=true,
                  bookmarksopen=true,
                  colorlinks, %注释掉此项则交叉引用为彩色边框(将colorlinks和pdfborder同时注释掉)
                  pdfborder=001, %注释掉此项则交叉引用为彩色边框
                  linkcolor=black,
                  anchorcolor=green,
                  citecolor=green
                  ]{hyperref}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \href{url}{text}                           %
% \url{url}                                  %
% \nolinkurl{url}                            %
% \hyperbaseurl{url}                         %
% \hyperimage{imageurl}{text}                %
% \hyperdef{category}{name}{text}            %
% \hyperref{url}{category}{name}{text}       %
% \hyperref{label}{text}                     %
% \hyperlink{name}{text}                     %
% \hypertarget{name}{text}                   %
% \phantomsection                            %
% \addcontentsline{toc}{chapter}{\indexname} %
% \printindex                                %
% \autoref{label}                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{listings}
\lstset{basicstyle=\footnotesize\ttfamily,
numbers=left,
numberstyle=\tiny,
keywordstyle=\color{blue!70}, commentstyle=\color{red!50!green!50!blue!50},
frame=shadowbox,
rulesepcolor=\color{red!20!green!20!blue!20},
escapeinside=``, xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
language=bash, keywordstyle=\color{blue!70},  frame=shadowbox, rulesepcolor=\color{red!20!green!20!blue!20}
}
\lstset{extendedchars=false}

\usepackage{minted}
\setlength{\columnsep}{3em}          %设置分栏间隔
\setlength{\parindent}{2em}          %设置段首缩进量
\renewcommand{\baselinestretch}{1.2} %重设行距       \usepackage{graphicx}
\newcommand{\lishu}[1]{   \CJKfamily{li}   {#1}}   %隶书\renewcommand*\fuigurename{\KAI{图}}
\newcommand{\heiti}[1]{  \CJKfamily{hei}  {#1}}   %黑体
\newcommand{\kaiti}[1]{  \CJKfamily{kai}  {#1}}   %楷体\usepackage{cite}
\newcommand{\red}[1]{  \textcolor{red}  {#1}}   %红色\makeatletter
\newcommand{\blue}[1]{ \textcolor{blue} {#1}}   %蓝色\def\@cite#1#2{\textsuperscript{[{#1\if@tempswa , #2\fi}]}}
\newcommand{\green}[1]{\textcolor{green}{#1}}   %绿色\makeatother

\newcommand{\KAI}[1]{\begin{CJK*}{UTF8}{kai}{#1}\end{CJK*}}
\newcommand{\HEI}[1]{\begin{CJK*}{UTF8}{hei}{#1}\end{CJK*}}
\newcommand{\LI}[1]{\begin{CJK*}{UTF8}{li}{#1}\end{CJK*}}
\newcommand{\SONG}[1]{\begin{CJK*}{UTF8}{song}{#1}\end{CJK*}}
\newcommand{\YOU}[1]{\begin{CJK*}{UTF8}{you}{#1}\end{CJK*}}
\newcommand{\FSONG}[1]{\begin{CJK*}{UTF8}{fsong}{#1}\end{CJK*}}
%----------------------------------------------------------------
\vfuzz2pt % Don't report over-full v-boxes if over-edge is small
\hfuzz2pt % Don't report over-full h-boxes if over-edge is small

%%--------------------------------------------------
%% 图片文件路径
%%--------------------------------------------------


% MATH -----------------------------------------------------------
\DeclareMathOperator{\diag}{diag}
\DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\vecm}{vec}
\DeclareMathOperator{\vecs}{vecs}

\newcommand{\mfloor}[1]{ \left\lfloor {#1} \right\rfloor }
\newcommand{\mpair}[2]{ \left\langle {#1}, {#2} \right\rangle}


\renewcommand{\bf}[1]{\mathbf{#1}}
%\renewcommand{\vec}[1]{\bm{#1}}    %向量， 黑斜体
\newcommand{\mat}[1]{\bm{#1}}    %矩阵
\newcommand{\dif}{\mathrm{d}}
\newcommand{\diver}{\mathrm{div}}
\newcommand{\me} {\mathrm{e}}
\newcommand{\mi} {\mathrm{i}}

\newcommand{\vecmat}[1]{\vecm{\left( #1 \right)}}
\newcommand{\vecsmat}[1]{\vecs{\left( #1 \right)}}
\newcommand{\vecasym}[1]{[#1]_\times}   % antisymmetric matrix from a vector
\newcommand{\id} {\mathbbm{1}}   % identity operator
\newcommand{\fracode}[2]{\frac{\dif {#1}}{\dif {#2}}}         % ordinary differential operator
\newcommand{\fracpde}[2]{\frac{\partial {#1}}{\partial {#2}}} % partial differential operator
\newcommand{\fracpderow}[2]{\partial {#1}/\partial {#2}}
\newcommand{\fracoderow}[2]{\dif {#1}/\dif {#2}}
\newcommand{\fracpdemix}[3]{\frac{\partial^2 {#1}}{\partial {#2} \partial {#3}}}
\newcommand{\lap}[2]{\frac{\partial^2 {#1}}{\partial {#2}^2}}
\newcommand{\laprow}[2]{\partial^2 {#1}/\partial {#2}^2}
\newcommand{\secode}[2]{\frac{\dif^2 {#1}}{\dif {#2}^2}}
\newcommand{\set}[1]{\left\{ #1 \right\}}
\newcommand{\abs}[1]{\left| #1 \right|}
\newcommand{\absvec}[1]{\left| \bf{#1} \right|}
\newcommand{\ket}[1]{|#1 \rangle}
\newcommand{\bra}[1]{\langle #1 |}
\newcommand{\braket}[2]{ \langle #1 | #2 \rangle}
\newcommand{\norm}[1]{\lVert #1 \rVert}
\newcommand{\normF}[1]{{\parallel #1 \parallel}_\textrm{F}}
\newcommand{\tA}[1]{{#1}^\textsf{T}}
\newcommand{\inv}[1]{#1^{-1}}
\newcommand{\ginv}[1]{#1^+}    % Moore-Penrose (general) inverse
\newcommand{\tinv}[1]{{#1}^{-\textsf{T}}}


\newcommand{\ES}[3]{\mathbb{#1}^{{#2}\times {#3}}}               % Euclidean space
\newcommand{\PS}[3]{\mathbb{#1}^{{#2}\times{#3}}}      % projective space
% ----------------------------------------------------------------



\begin{document}
\begin{CJK*}{UTF8}{song}

%%*********************************************
%% 设置页眉与页脚
%%*********************************************

\pagestyle{fancy}
\fancyhead[LO,RE]{Debian7.4\,安装配置\LaTeX} % clear all fields
\fancyhead[RO,LE]{ABSR-ER-No.003}   %  请设置正确的个人文档编号
%\fancyhead[LO,RE]{\CJKfamily{hei>} \bfseries \leftmark}
%\fancyfoot[LE,RO]{\thepage}
\fancyfoot[RO,LE]{中欧航空工程师学院}
\fancyfoot[LO,RE]{SIAE}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}



% THEOREMS -------------------------------------------------------
\newtheorem{thm}{\textcolor[rgb]{0.98,0.00,0.00}{定理}}
\newtheorem{cor}[thm]{\textcolor[rgb]{0.00,0.00,1.00}{推论}}
\newtheorem{lem}[thm]{\textcolor[rgb]{0.00,0.00,1.00}{引理}}
\newtheorem{prop}[thm]{\textcolor[rgb]{0.00,0.00,1.00}{性质}}
\newtheorem{prob}[thm]{\textcolor[rgb]{0.98,0.00,0.00}{问题}}
\newtheorem{conj}[thm]{\textcolor[rgb]{1.00,0.00,1.00}{猜想}}
\newtheorem{defn}[thm]{\textcolor[rgb]{0.44,0.00,0.87}{定义}}
\newtheorem{rem}[thm]{\textcolor[rgb]{1.00,0.50,0.25}{注记}}
\newtheorem{eg}[thm]{\textcolor[rgb]{0.00,0.00,1.00}{例}}%[chapter]

\renewcommand{\contentsname}{\hfil 目\quad 录}
\renewcommand{\figurename}{\KAI{图}}
\renewcommand{\refname}{\KAI{参考文献}}
\setcounter{figure}{0}


\title{\HEI{Debian7.4\,安装配置\LaTeX\\ ABSR-ER-No.003}}
\author{\KAI{王子昊}(Zi-Hao Wang)\\
               个人代号: ABSR-03,  电子邮件: zhwang0721@gmail.com }

\date{2014~年~04~月~28~日}


%%*************************************************
%%  打印 标题, 作者, 日期等内容
%%*************************************************
\maketitle       %
\tableofcontents
\pagenumbering{roman}
%%*************************************************
%% 显示内容目录
%%*************************************************
\newpage
\pagenumbering{arabic}
%%*************************************************
%% 正文部分
%%*************************************************
\section{说明}
\subsection{概述}
本文详细叙述了在Debian7.4下安装\LaTeX 、生成\LaTeX 所需的中文字体的过程，解决了\LaTeX 生成的PDF中文文档索引乱码的问题、同时给出了在Linux下使用UTF-8编码书写中文\LaTeX 文档的范例。
\subsection{引用博客申明}
本文参考教程来源于:\par
\href{http://wenku.baidu.com/view/2ea1c32d453610661ed9f482.html}{\textcolor[rgb]{0.00,0.00,1.00}{安装LaTeX及中文支持}}\par
以及\par
\href{http://blog.csdn.net/shadowkiss/article/details/5152029}{\textcolor[rgb]{0.00,0.00,1.00}{ LaTeX中使用dvipdfm转换方式hyperref包生成PDF中文书签乱码的解决方案}}
\subsection{环境说明}
系统版本：Debian~~7.4位\par
内核版本：linux-3.2.0-4-amd64\par
经验证，该方法同样适用于Ubuntu14.04。

\section{安装\LaTeX 套件、下载相关文件}

首先更新源列表、更新软件：
\par \verb|$ sudo apt-get update |
\par \verb|$ sudo apt-get dist-upgrade |
\par 安装TeXLive套件：
\par \verb|$ sudo apt-get install texlive-full |
\par 因为文件很大，所以下载时间会比较久。
\par 下载并解压载\href{http://pan.baidu.com/s/1pJ7QwND}{\textcolor[rgb]{0.00,0.00,1.00}{ABSR-ER-003所需文件.7z}}，得到~ABSR-ER-003所需文件~文件夹。
\par 安装fontforge字库编辑工具
\par \verb|$ sudo apt-get install fontforge |

\section{生成\LaTeX 所需中文字体}
首先需要有字体文件，这里以宋体为例：simsun.ttc。
\par 将~ABSR-ER-003所需文件~文件夹中的font.tar.gz解压到主目录下（注意是主目录，下面的命令是针对主目录写的），得到~font~文件夹。将宋体的字体文件simsun.ttc拷贝到font文件夹中。
打开终端切换到font文件夹：
\par \verb|$ cd ~/font|
\par 使用下面的命令将字体分片生成子字体：
\par \verb|$ fontforge -script subfonts.pe simsun.ttc song Unicode.sfd|
\par 新建一个文本文件用于生成字体的地图，命名为makemap，内容如下：
\par \verb| for i in *.tfm|
\par \verb| do |
\par \verb| cat >>|
\par \verb| song.map << EOF |
\par \verb| \${i%.tfm} \${i%.tfm} < \${i%.tfm}.pfb|
\par \verb| EOF|
\par \verb| done|
\par 给这个文件加上可执行权限：
\par \verb|$ chmod +x makemap|
\par 运行这个文件：
\par \verb|$ bash makemap|
\par 再新建一个名为 c70song.fd 的用于\LaTeX 的字体描述文件文件,内容如下：
\par \verb| \ProvidesFile{c70song.fd} |
\par \verb| \DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}|
\par \verb| \DeclareFontShape{C70}{song}{m}{n}{<-> CJK * song}{} |
\par \verb| \DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * song}{\CJKbold}|
\par \verb| \endinput|
\par 生成隐藏的个人 Tex 配置文件夹：
\par \verb|$ mkdir -p ~/.texmf-var/fonts/map/dvips/CJK |
\par \verb|$ mkdir -p ~/.texmf-var/fonts/tfm/CJK/song |
\par \verb|$ mkdir -p ~/.texmf-var/fonts/type1/CJK/song |
\par \verb|$ mkdir -p ~/.texmf-var/tex/latex/CJK/UTF8 |
\par 将刚才产生的各种文件复制到相应文件夹中：
\par \verb|$ cp ~/font/song.map ~/.texmf-var/fonts/map/dvips/CJK|
\par \verb|$ cp ~/font/*.tfm ~/.texmf-var/fonts/tfm/CJK/song|
\par \verb|$ cp ~/font/*.pfb ~/.texmf-var/fonts/type1/CJK/song|
\par \verb|$ cp ~/font/c70song.fd ~/.texmf-var/tex/latex/CJK/UTF8|
\par 执行下面的命令刷新字体：
\par \verb|$ sudo texhash|
\par \verb|$ updmap --enable Map song.map|
\par 配置中文字体到此结束。
\vspace{1em}
\par 其实上面所有的步骤不必一步步的执行，
我已将整个过程写成了一个shell脚本，放在了~ABSR-ER-003所需文件~文件夹中，名称是all\_ font\_ gen.sh。
\par 使用方法是先将~ABSR-ER-003所需文件~中的font.tar.gz文件解压到主目录下。
\par 然后进入font文件夹并为all\_ font\_ gen.sh添加可执行权限：
\par \verb|$ cd ~/font |
\par \verb|$ chmod +x all_font_gen.sh|
\par 然后运行这个文件即可，中途会要求输入用户密码：
\par \verb|$ bash all_font_gen.sh|


\section{中文索引乱码问题}
新建一个名为test的文件夹:
\par \verb|$ mkdir test |
\par 在文件夹中新建一个名为example.tex的\TeX 文件:
\par \verb|$ gedit ~/test/example.tex |
\par 在其中写入以下内容：
\usemintedstyle{tango}
\begin{minted}[frame=single]{latex}
\documentclass{article}
\usepackage{CJK}
\usepackage[dvipdfm, 
            pdfstartview=FitH,
            CJKbookmarks=true,
            bookmarksnumbered=true,
            bookmarksopen=true,
            colorlinks, 
            pdfborder=001, 
            linkcolor=black,
            anchorcolor=green,
            citecolor=green
            ]{hyperref}
\begin{document}
\begin{CJK*}{UTF8}{song}
\section{第一部分}
\subsection{第一节}
\subsection{第二节}
\section{第二部分}
\subsection{第一节}
\subsection{第二节}
\subsection{第三节}
\subsection{第四节}
\section{第三部分}
\subsection{第一节}
\subsection{第二节}
\subsection{第三节}
\end{CJK*}
\end{document}
\end{minted}
\par 在终端输入命令编译：
\par \verb|$ cd test |
\par \verb|$ latex *.tex | 
\par \verb|$ dvipdfmx *.dvi |
\par 打开生成的PDF可以看到侧边栏的目录索引如\KAI{图}\ref{fig:error}：
\begin{figure}[H]
  \centering
      \subfigure[中文索引乱码]{
    \label{fig:error} %% label for first subfigure
    \includegraphics[height=6cm]{index.eps}}
  \subfigure[中文索引正常显示]{
    \label{fig:normal} %% label for second subfigure
    \includegraphics[height=6cm]{index_normal.eps}}
  \caption{中文索引的非正常与正常显示}
  %\label{fig:difft2} %% label for entire figure
\end{figure}
%\begin{figure}[H]
%\centering
%\includegraphics[scale=0.8]{index.eps}
%\caption{中文索引乱码}
%\end{figure}


\par 
解决办法是，先安装JAVA环境：
\par \verb|$ sudo apt-get install default-jre|
\par
然后，将~ABSR-ER-003所需文件~文件夹中的Charset2Unicode.class文件复制test文件夹中，打开终端输入命令：
\par \verb|$ latex *.tex|
\par \verb|$ java -classpath . Charset2Unicode UTF-8 *.out|
\par \verb|$ latex *.tex|
\par \verb|$ dvipdfmx *.dvi|
\par 打开生成的PDF可以看到侧边栏的目录索引不再是乱码了，如\KAI{图}\ref{fig:normal}。
%\begin{figure}[H]
%\centering
%\includegraphics[scale=0.8]{index_normal.eps}
%\caption{中文索引正常显示}
%\end{figure} 
\section{TeXMaker参数设置}
在Linux下推荐使用TeXMaker编辑\TeX 文件，在TeXMaker选项$\rightarrow$ 配置TeXMaker$\rightarrow$ 快速构建中选择“用户”并在下面输入如下指令：\par
\begin{minted}[breaklines]{python} 
latex -shell-escape -interaction=nonstopmode -synctex=1 %.tex|java -classpath . Charset2Unicode UTF-8 %.out|latex -shell-escape -synctex=1 -interaction=nonstopmode %.tex|dvipdfmx  %.dvi|evince %.pdf
\end{minted}
注意！请勿复制上面的续行符。下次编译的时候使用F1键即可完成全套操作。
\section{使用UTF-8编码书写中文\LaTeX 文档的范例}
\begin{minted}[frame=single]{latex}
\documentclass[a4paper, 11pt]{article}
\usepackage{CJK}
\usepackage[dvipdfm, 
            pdfstartview=FitH,
            CJKbookmarks=true,
            bookmarksnumbered=true,
            bookmarksopen=true,
            colorlinks, 
            pdfborder=001, 
            linkcolor=black,
            anchorcolor=green,
            citecolor=green
            ]{hyperref}

\newcommand{\KAI}[1]{\begin{CJK*}{UTF8}{kai}{#1}\end{CJK*}}
\newcommand{\HEI}[1]{\begin{CJK*}{UTF8}{hei}{#1}\end{CJK*}}
\newcommand{\LI}[1]{\begin{CJK*}{UTF8}{li}{#1}\end{CJK*}}
\newcommand{\SONG}[1]{\begin{CJK*}{UTF8}{song}{#1}\end{CJK*}}
\newcommand{\YOU}[1]{\begin{CJK*}{UTF8}{you}{#1}\end{CJK*}}
\newcommand{\FSONG}[1]{\begin{CJK*}{UTF8}{fsong}{#1}\end{CJK*}}

\begin{document}
\begin{CJK*}{UTF8}{song}
\title{\HEI{使用UTF-8编码书写中文\LaTeX 文档的范例}}
\author{\KAI{王子昊}(Zi-Hao Wang)\\
个人代号: ABSR-03,  电子邮件: zhwang0721@gmail.com }

\date{2014~年~04~月~28~日}

\maketitle      
\section{目录及索引}
\subsection{第一节}
目录带有超链接。
\subsection{第二节}
中文索引带有超链接而且使用ABSR-ER-003中介绍的方法编译不会乱码。
\section{第二部分}
\subsection{第一节}
\SONG{这是宋体。}
\subsection{第二节}
\KAI{这是楷体。}
\subsection{第三节}
\HEI{这是黑体。}
\subsection{第四节}
\LI{这是隶书。}
\end{CJK*}
\end{document}
\end{minted}
\newpage
\end{CJK*}
\end{document}
